home *** CD-ROM | disk | FTP | other *** search
/ Tech Arsenal 1 / Tech Arsenal (Arsenal Computer).ISO / tek-13 / amac44b.zip / DAT003.QM < prev    next >
Text File  |  1992-05-27  |  20KB  |  384 lines

  1. *                               dat003.qm
  2. *                        Written By Tom Hogshead
  3. *                       [ See DATExx.QM For Use ]
  4. *                                 5/12/92
  5. *                                                                      Bytes
  6. *  Key       Subfile                   Description/Output           Small Fast
  7. * =====  ===============  ========================================== ==== ====
  8. * @(3)                    5:26 pm                                      53
  9. * @(0)                    |                                                252
  10. *                                  ( no comma)
  11. * ^(f1_)                Tom Hogshead  Friday, May 8, 1992 at 11:27 am 163
  12. * @(f7)                 Tom Hogshead, Friday, May 8, 1992 at 11:27 am 164
  13. * @(f8)                   |                                                890
  14. *                                                                       
  15. *          {e:\up\DATE*}--Return To DATExx.QM                         BEST
  16. *
  17. *-- eoi
  18.  
  19. *                          M A C R O S
  20. * ----------------------------------------------------------------------
  21. * @(3) Time in Standard '5:26 pm', not Military '17:26:37',
  22. *      Uses Data File $time, Small
  23. * ----------------------------------------------------------------------
  24. *   The data file $time must exist in the current directory or change
  25. *   "d:\path\" to your path containing $date to execute in any
  26. *   directory.  This macro will fit on one line of Qconfig.dat.  File
  27. *   $time contains:
  28. *   ┌─────────────────────────────────────────────────────────────────────┐
  29. *   │$time                                                                │
  30. *   │01 1 am 02  2 am 03  3 am 04  4 am 05 5 am 06  6 am 07  7 am 08  8 am│
  31. *   │09 9 am 10 10 am 11 11 am 12 12 pm 13 1 pm 14  2 pm 15  3 pm 16  4 pm│
  32. *   │17 5 pm 18  6 pm 19  7 pm 20  8 pm 21 9 pm 22 10 pm 23 11 pm 00 12 am│
  33. *   └─────────────────────────────────────────────────────────────────────┘
  34.  
  35. @3  macrobegin setscreenoff defaultwordset splitline
  36.     inserttime delltword delltword delltword        * Delete ":secs "
  37.     wordleft wordleft markword cut                  * Cut 24 hour # to scrap
  38.     onewindow horizontalwindow                      * Setup window for $time
  39.     editfile
  40. *       "d:\path\"                  * Change to your path for "$time"
  41.         "$time" return
  42.     find paste return delline return                * Find 24 hour #
  43.     wordright markcolumn wordright cursorright      * Mark 12 hour and am/pm
  44.     copy quit prevwindow onewindow paste            * Copy/quit/paste data
  45.     wordright markword cursorleft markcolumn        * Mark " am/pm"
  46.     endline moveblock                               * Move it where it belongs
  47.     endline cursorright joinline unmarkblock        * Clean up and pos cursor
  48. *
  49. * 53 bytes Tue  04-14-1992  13:48:41 (TH @3)
  50. * 53 bytes Tue  05-12-1992  09:15:06 (TH @3, changed description)
  51.  
  52. * * The following Qmac compiled version of @3 will fit on one line of
  53. * * Qconfig.dat:
  54. *
  55. * @3  MacroBegin SetScreenOff DefaultWordSet SplitLine InsertTime DelLtWord
  56. *     DelLtWord DelLtWord WordLeft WordLeft MarkWord Cut OneWindow
  57. *     HorizontalWindow EditFile "$time" Return Find Paste Return DelLine
  58. *     Return WordRight MarkColumn WordRight CursorRight Copy Quit PrevWindow
  59. *     OneWindow Paste WordRight MarkWord CursorLeft MarkColumn EndLine
  60. *     MoveBlock EndLine CursorRight JoinLine UnmarkBlock
  61. * 53 bytes Tue  04-14-1992  13:48:41 (TH @3)
  62.  
  63. * 
  64. * ----------------------------------------------------------------------
  65. * @(0) Time in Standard '5:26 pm', not Military '17:26:37'
  66. * ----------------------------------------------------------------------
  67. * This macro is a modification of Tim Farley's @3 macro in message
  68. * #2953 on SemWare ILink Conference 21, dated 9/17/90.  I modified it
  69. * to work properly if run with cursor between text, and also shortened
  70. * it a few bytes.
  71.  
  72. @0 Macrobegin
  73.         setscreenoff defaultwordset splitline inserttime
  74.         delltword delltword delltword wordleft wordleft
  75.         unmarkblock markcharacter cursorright
  76.         find "0" return "lb" return jfalse AFTER10
  77.         delch jump am
  78.     AFTER10:
  79.         markcolumn cursorleft
  80.         FindReplace "10" Return "10" Return "ln" Return JTrue am
  81.         FindReplace "11" Return "11" Return "ln" Return JTrue am
  82.         FindReplace "13" Return "1"  Return "ln" Return
  83.         FindReplace "14" Return "2"  Return "ln" Return
  84.         FindReplace "15" Return "3"  Return "ln" Return
  85.         FindReplace "16" Return "4"  Return "ln" Return
  86.         FindReplace "17" Return "5"  Return "ln" Return
  87.         FindReplace "18" Return "6"  Return "ln" Return
  88.         FindReplace "19" Return "7"  Return "ln" Return
  89.         FindReplace "20" Return "8"  Return "ln" Return
  90.         FindReplace "21" Return "9"  Return "ln" Return
  91.         FindReplace "22" Return "10" Return "ln" Return
  92.         FindReplace "23" Return "11" Return "ln" Return
  93.         jump pm
  94.       am:
  95.         endline cursorright "am" cursorright jump end
  96.       pm:
  97.         endline cursorright "pm" cursorright
  98.       end:
  99.         joinline unmarkblock
  100. *
  101. * 265 bytes Mon  04-01-1991  10:47:26 (Tim Farley)
  102. * 266 bytes Wed  04-08-1992  20:49:41 (TH @0, added setscreenoff)
  103. * 258 bytes Sat  04-11-1992  10:36:17 (TH @0, added split|joinline, shortened)
  104. * 259 bytes Mon  04-13-1992  11:43:47 (TH @0, added defaultwordset)
  105. * 252 bytes Tue  04-14-1992  14:00:37 (TH @0, shortened)
  106.  
  107. * 
  108. * ----------------------------------------------------------------------
  109. * ^(f1_) Name, Date and Time in Following Format:
  110. *       "Tom Hogshead, Thursday, April 9, 1992 at 11:15 am"
  111. *        Uses Data Files $date and $time, Small
  112. * ----------------------------------------------------------------------
  113. *   The data files $date and $time must exist in the current directory
  114. *   or change "d:\path\" to your path containing these files to
  115. *   execute in any directory.  Files $date and $time contain:
  116. *   ┌──────────────────────────────────────────────────────────────────┐
  117. *   │$date                                                             │
  118. *   │Mon Monday    Tue Tuesday  Wed Wednesday  Thu Thursday  Fri Friday│
  119. *   │Sat Saturday  Sun Sunday   01 January     02 February   03 March  │
  120. *   │04 April      05 May       06 June        07 July       08 August │
  121. *   │09 September  10 October   11 November    12 December             │
  122. *   └──────────────────────────────────────────────────────────────────┘
  123. *
  124. *   ┌─────────────────────────────────────────────────────────────────────┐
  125. *   │$time                                                                │
  126. *   │01 1 am 02  2 am 03  3 am 04  4 am 05 5 am 06  6 am 07  7 am 08  8 am│
  127. *   │09 9 am 10 10 am 11 11 am 12 12 pm 13 1 pm 14  2 pm 15  3 pm 16  4 pm│
  128. *   │17 5 pm 18  6 pm 19  7 pm 20  8 pm 21 9 pm 22 10 pm 23 11 pm 00 12 am│
  129. *   └─────────────────────────────────────────────────────────────────────┘
  130.  
  131.  
  132. ^f1     macrobegin
  133. * === Insert Date Tuesday, April 14, 1992 at 3:28 pm, From @2 DATE*.QM ===*
  134.         setscreenoff setinsmode defaultwordset
  135.        "Tom Hogshead"     **** change to your name ****
  136.         cursorright cursorright
  137.         insertdate
  138. * ------------------------ Remove Second Dash ------------------------*
  139.         wordleft toggleinsert backspace wordleft
  140. * ------------------ Remove Day Number Leading Zero ------------------*
  141.         unmarkblock markcolumn                      * Mark day digit 1
  142.         findreplace
  143.             "0" return delline return "ln" return   * Remove leading zero
  144. * ------------------------ Remove First Dash ------------------------*
  145.         backspace wordleft wordleft toggleinsert
  146. * ------------------------- Expand Day Name -------------------------*
  147.         markword cut onewindow horizontalwindow
  148.         editfile
  149. *           "d:\path\"              * Change to your path for "$date"
  150.             "$date" return
  151.         find paste return delline return
  152.         wordright markword copy prevwindow paste
  153. * ------------------- Insert Comma After Day Name -------------------*
  154.         gotoblockend "," delch  * Remove to NOT put comma after day name
  155. * ------------------ Replace Month Number with Name ------------------*
  156.         wordright markword cut nextwindow
  157.         find paste return delline return
  158.         wordright markword copy quit prevwindow onewindow paste
  159. * ------------------ Insert Comma After Day Number ------------------*
  160.         gotoblockend wordright markword gotoblockend "," wordright
  161.         markword gotoblockend cursorright * unmarkblock
  162.         "at" cursorright
  163. * ========= Insert Time In 3:27 pm Format, From @3 dat002.qm =========*
  164.         splitline
  165.         inserttime delltword delltword delltword    * Delete ":secs "
  166.         wordleft wordleft markword cut              * Cut 24 hour # to scrap
  167.         onewindow horizontalwindow                  * Setup window for $time
  168.         editfile
  169. *           "d:\path\"              * Change to your path for "$time"
  170.             "$time" return
  171.         find paste return delline return            * Find 24 hour #
  172.         wordright markcolumn wordright cursorright  * Mark 12 hour and am/pm
  173.         copy quit prevwindow onewindow paste        * Copy/quit/paste data
  174.         wordright markword cursorleft markcolumn    * Mark " am/pm"
  175.         endline moveblock                           * Move it where it belongs
  176.         endline cursorright joinline unmarkblock    * Clean up and pos cursor
  177. *
  178. * 163 bytes Wed  04-15-1992  09:46:15 (TH ^f1)
  179. * 163 bytes Tue  05-12-1992  09:14:44 (TH ^f1, changed description)
  180.  
  181. * 
  182. * ----------------------------------------------------------------------
  183. * @(f7) Name, Date and Time in Following Format:
  184. *      "Tom Hogshead, Thursday, April 9, 1992 at 11:15 am"
  185. *       Uses Data Files $date and $time, Small
  186. * ----------------------------------------------------------------------
  187. *   The data files $date and $time must exist in the current directory
  188. *   or change "d:\path\" to your path containing these files to
  189. *   execute in any directory.  Files $date and $time contain:
  190. *   ┌──────────────────────────────────────────────────────────────────┐
  191. *   │$date                                                             │
  192. *   │Mon Monday    Tue Tuesday  Wed Wednesday  Thu Thursday  Fri Friday│
  193. *   │Sat Saturday  Sun Sunday   01 January     02 February   03 March  │
  194. *   │04 April      05 May       06 June        07 July       08 August │
  195. *   │09 September  10 October   11 November    12 December             │
  196. *   └──────────────────────────────────────────────────────────────────┘
  197. *
  198. *   ┌─────────────────────────────────────────────────────────────────────┐
  199. *   │$time                                                                │
  200. *   │01 1 am 02  2 am 03  3 am 04  4 am 05 5 am 06  6 am 07  7 am 08  8 am│
  201. *   │09 9 am 10 10 am 11 11 am 12 12 pm 13 1 pm 14  2 pm 15  3 pm 16  4 pm│
  202. *   │17 5 pm 18  6 pm 19  7 pm 20  8 pm 21 9 pm 22 10 pm 23 11 pm 00 12 am│
  203. *   └─────────────────────────────────────────────────────────────────────┘
  204.  
  205. @f7     macrobegin
  206. * === Insert Date Tuesday, April 14, 1992 at 3:28 pm, From @2 DATE*.QM ===*
  207.         setscreenoff setinsmode defaultwordset
  208.        "Tom Hogshead,"     **** change to your name ****
  209.         cursorright
  210.         insertdate
  211. * ------------------------ Remove Second Dash ------------------------*
  212.         wordleft toggleinsert backspace wordleft
  213. * ------------------ Remove Day Number Leading Zero ------------------*
  214.         unmarkblock markcolumn                      * Mark day digit 1
  215.         findreplace
  216.             "0" return delline return "ln" return   * Remove leading zero
  217. * ------------------------ Remove First Dash ------------------------*
  218.         backspace wordleft wordleft toggleinsert
  219. * ------------------------- Expand Day Name -------------------------*
  220.         markword cut onewindow horizontalwindow
  221.         editfile
  222. *           "d:\path\"            * Change to your path for "$date"
  223.             "$date" return
  224.         find paste return delline return
  225.         wordright markword copy prevwindow paste
  226. * ------------------- Insert Comma After Day Name -------------------*
  227.         gotoblockend "," delch  * Remove to NOT put comma after day name
  228. * ------------------ Replace Month Number with Name ------------------*
  229.         wordright markword cut nextwindow
  230.         find paste return delline return
  231.         wordright markword copy quit prevwindow onewindow paste
  232. * ------------------ Insert Comma After Day Number ------------------*
  233.         gotoblockend wordright markword gotoblockend "," wordright
  234.         markword gotoblockend cursorright
  235.         "at" cursorright
  236. * ========= Insert Time In 3:27 pm Format, From @3 dat002.qm =========*
  237.         splitline
  238.         inserttime delltword delltword delltword    * Delete ":secs "
  239.         wordleft wordleft markword cut              * Cut 24 hour # to scrap
  240.         onewindow horizontalwindow                  * Setup window for $time
  241.         editfile
  242. *           "d:\path\"              * Change to your path for "$time"
  243.             "$time" return
  244.         find paste return delline return            * Find 24 hour #
  245.         wordright markcolumn wordright cursorright  * Mark 12 hour and am/pm
  246.         copy quit prevwindow onewindow paste        * Copy/quit/paste data
  247.         wordright markword cursorleft markcolumn    * Mark " am/pm"
  248.         endline moveblock                           * Move it where it belongs
  249.         endline cursorright joinline unmarkblock    * Clean up and pos cursor
  250. *
  251. * 164 bytes Tue  04-14-1992  22:55:11 (TH @f7)
  252. * 164 bytes Tue  05-12-1992  09:16:05 (TH @f7, changed description)
  253.  
  254. * 
  255. * ----------------------------------------------------------------------
  256. * @(f8) Name, Date and Time in Following Format:
  257. *      "Tom Hogshead, Thursday, April 9, 1992 at 11:15 am"
  258. * ----------------------------------------------------------------------
  259. * This macro is based on @f6 by Mel Hulse.
  260.  
  261. @f8 macrobegin
  262.     setscreenoff setinsmode
  263.     UnmarkBlock         * Housekeeping
  264.     DefaultWordSet      *      "
  265. * ----------------------- insert name and date -----------------------*
  266.    "Tom Hogshead,"     **** change to your name ****
  267.     cursorright
  268.     InsertDate          * Places system date at the cursor position
  269.     PrevPosition        * Goto front of date string
  270. *------ vvvv If you don't want day spelled out, DELETE FROM HERE ----*
  271.     MarkWord            * Mark the abreviated day
  272. *------ Replace Day with spelled out name within the marked block----*
  273.     FindReplace"Mon" Return "Monday, "    Return "LN" Return
  274.     FindReplace"Tue" Return "Tuesday, "   Return "LN" Return
  275.     FindReplace"Wed" Return "Wednesday, " Return "LN" Return
  276.     FindReplace"Thu" Return "Thursday, "  Return "LN" Return
  277.     FindReplace"Fri" Return "Friday, "    Return "LN" Return
  278.     FindReplace"Sat" Return "Saturday, "  Return "LN" Return
  279.     FindReplace"Sun" Return "Sunday, "    Return "LN" Return
  280.   Month:                 * Target for jump
  281. *--------------------------------------------------------------------*
  282.     GotoBlockEnd        * Goto the 2 spaces after the day
  283. *------ ^^^^ TO HERE,  ----------------------------------------------*
  284.     DelRtWord           * Delete spaces if Q is configured to...
  285.                         * delete following white space...
  286.                         * (Delete day, if your not using it)
  287.     UnmarkBlock         * Un mark
  288.     MarkWord
  289. *------ Replace Month number with Name  -----------------------------*
  290.     FindReplace"01" Return "January "   Return "LN" Return
  291.     FindReplace"02" Return "February "  Return "LN" Return
  292.     FindReplace"03" Return "March "     Return "LN" Return
  293.     FindReplace"04" Return "April "     Return "LN" Return
  294.     FindReplace"05" Return "May "       Return "LN" Return
  295.     FindReplace"06" Return "June "      Return "LN" Return
  296.     FindReplace"07" Return "July "      Return "LN" Return
  297.     FindReplace"08" Return "August "    Return "LN" Return
  298.     FindReplace"09" Return "September " Return "LN" Return
  299.     FindReplace"10" Return "October "   Return "LN" Return
  300.     FindReplace"11" Return "November "  Return "LN" Return
  301.     FindReplace"12" Return "December "  Return "LN" Return
  302.     GotoBlockEnd        * Go to the space after month
  303.     UnmarkBlock         * Un mark
  304.     Delch               * Delete hyphen
  305. *------ Remove Zero in Day Number -----------------------------------*
  306.     CursorLeft          * Ready for 2 character find...
  307.     DropAnchor          * Mark 1st...
  308.     CursorRight         * and second...
  309.     DropAnchor          * characters
  310.     GotoBlockBeg        * And go to block's start
  311.     FindReplace " 0" Return " " Return "LN" Return  * Find a "0" and delete it
  312.     GoToBlockEnd        * Go toward hyphen
  313.     UnmarkBlock         * Un mark
  314.     CursorRight         * And one character more
  315.     Delch ", "          * Delete hyphen & add comma and space
  316. *--------------------------------------------------------------------*
  317.     MarkWord            * Mark the year
  318.     GotoBlockEnd        * Go to the space after the year
  319.     UnmarkBlock         * Un mark
  320.     DelCh               * Delete 1 character at years end
  321. *------- Delete after here if time not wanted -----------------------*
  322. *   Time:  "12:36 pm ", not "12:36:18 "
  323. * -------------------------------------------------------------------*
  324.     AltWordSet          * Housekeeping - Turn back to DefaultWordSet ....
  325.     " at "
  326.     InsertTime          * Insert the time
  327.     Backspace           * Backspaces...
  328.     Backspace           * over...
  329.     Backspace           * the...
  330.     Backspace           * seconds
  331.     CursorLeft          * Go to the end of time
  332.     MarkWord            * Mark time
  333.     GotoBlockBeg        * Go to the beginning of time
  334.     UnmarkBlock         * Un mark
  335.     CursorLeft          * And 1 character before time
  336.     DropAnchor          * Mark the...
  337.     CursorRight         * 1st 2 characters...
  338.     DropAnchor          * of the hour
  339.     CursorLeft          * See if it's a "0"  and delete it
  340.     FindReplace " 0" Return " " Return "ln" Return JTrue am
  341.     GoToBlockEnd        * Otherwise, convert the hour
  342.     UnmarkBlock         * Un mark the find block
  343.     DropAnchor          * Mark...
  344.     CursorLeft          * the...
  345.     DropAnchor          * hour
  346.     CursorLeft          * Go past 1st character
  347.     *   Look for each 2 digit hour, 11 or less & go to "am"...
  348.     FindReplace "10" Return "10" Return "ln" Return JTrue am
  349.     FindReplace "11" Return "11" Return "ln" Return JTrue am
  350.     * ...or convert it to the 12 hour clock
  351.     FindReplace "13" Return "1"  Return "ln" Return
  352.     FindReplace "14" Return "2"  Return "ln" Return
  353.     FindReplace "15" Return "3"  Return "ln" Return
  354.     FindReplace "16" Return "4"  Return "ln" Return
  355.     FindReplace "17" Return "5"  Return "ln" Return
  356.     FindReplace "18" Return "6"  Return "ln" Return
  357.     FindReplace "19" Return "7"  Return "ln" Return
  358.     FindReplace "20" Return "8"  Return "ln" Return
  359.     FindReplace "21" Return "9"  Return "ln" Return
  360.     FindReplace "22" Return "10" Return "ln" Return
  361.     FindReplace "23" Return "11" Return "ln" Return
  362.     Jump pm             * ...and go to "pm"
  363.   am:                   * Target
  364.     GotoBlockEnd        * Get past time
  365.     UnmarkBlock         * Un mark the find block
  366.     MarkWord GotoBlockEnd UnmarkBlock   * Go to the end of time
  367.     " am"               * Enter "am"
  368.     Jump end            * Quit
  369.   pm:                   * Target
  370.     GotoBlockEnd        * Get past time
  371.     UnmarkBlock         * Un mark the find block
  372.     MarkWord GotoBlockEnd UnmarkBlock   * Go to the end of time
  373.     " pm"               * Enter "pm"
  374.   end:                  * Quit target
  375.     CursorRight         * Put the cursor where user wants it
  376.     DefaultWordSet      * Put it back where it probably was
  377. *
  378. * 861 bytes, Sunday, April 7, 1991 at 12:41 am  (@5 macro)
  379. * 890 bytes Thu  04-11-1991  23:13:32 added name
  380. * 892 bytes Thu  04-09-1992  11:16:01 (TH @f8, added setscreenoff/setinsmode)
  381. * 890 bytes Tue  04-14-1992  17:08:36 (TH @f8, shortened)
  382.  
  383. *--eof
  384.